AlgoWiki

Minimum Steiner tree

In the minimum Steiner tree problem, we are given an edge-weighted graph G=(V,E,w)G = (V, E, w) and a subset SVS \subseteq V of required vertices. A Steiner tree is a tree in GG that spans all vertices of SS, meaning that they are all in the same component. The objective of the problem is to find a Steiner tree of minimum weight. The decision version of the problem is NP-complete. However, it is fixed-parameter tractable when parameterized by the size of SS, as is witnessed by the dynamic programming algorithm shown below.

Algorithms

Time complexity is O((nk2)k2log(k))O\left(\binom{n}{k-2} k^2 \log(k)\right), where n=Vn=|V| and k=Sk=|S|

Dynamic programming

Time complexity is O(n3k+n22k)O(n3^k + n^22^k)

Problems

See also